package com.appkubes.mall.admin.application.goods.goods.entity.model;

import lombok.Data;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

@Data
public class GoodsDetailVO {
    /**
     * 商品id
     */
    @NotBlank(message = "[goodsId]不能为空")
    private String goodsId;
    /**
     * 商品分类id
     */
    @NotNull(message = "[catId]不能为空")
    private Integer catId;

    @NotBlank(message = "[categoryName]不能为空")
    private String categoryName;
    /**
     * 商品名称
     */
    @NotBlank(message = "[goodsName]不能为空")
    private String goodsName;
    /**
     * 排序:从大到小
     */
    private Integer goodsIndex;
    /**
     * 商品缩略图url
     */
    @NotBlank(message = "[pic]不能为空")
    private String pic;
    /**
     * 商品销售价
     */
    @DecimalMin(value = "0" ,message = "[price]商品销售价须>0")
    private BigDecimal price;
    /**
     * 商品原价展示使用
     */
    @DecimalMin(value = "0" ,message = "[originalPrice]商品原价须>0")
    private BigDecimal originalPrice;
    /**
     * 服务内容
     */
    private String service;
    /**
     * 库存
     */
    @Min(value = 0, message = "[stock]库存最小值须>0")
    private Integer stock;
    /**
     * 虚拟库存
     */
    @Min(value = 0, message = "[virtualStock]虚拟库存最小值须>0")
    private Integer virtualStock;
    /**
     * 真实库存
     */
    @Min(value = 0, message = "realStock]真实库存最小值须>0")
    private Integer realStock;
    /**
     * 销量
     */
    private Integer salesNum;
    /**
     * 虚拟销量
     */
    private Integer virtualNum;
    /**
     * 是否推荐
     */
    private Integer isHot;
    /**
     * 副标题
     */
    private String subHeading;
    /**
     * 限购数量
     */
    private Integer restriction;
    /**
     * 附加分类
     */
    private String cateList;
    /**
     * 快照版本号
     */
    @Min(value = 0 ,message = "[snapshotVersion]快照版本号最小值须>0")
    private Integer snapshotVersion;

    /**规格 */
    @NotBlank(message = "[specification]不能为空")
    private String specification;
    /**颜色*/
    @NotBlank(message = "[colour]不能为空")
    private String colour;


}
